package com.samsung.database;

import java.util.Vector;
import android.os.Bundle;
import android.os.Parcel;
import android.os.Parcelable;

public class Orden implements Parcelable {
	
	private static final long serialVersionUID = 1L;
	
	
	public Vector<Parte> partes;
	
/*	private static final String KEY_PARTES_SIZE = "PARTES_SIZE";
    private final String KEY_NUMERO = "NUMERO";
	private final String KEY_ESTADO = "ESTADO";
	private final String KEY_SINTOMA = "SINTOMA";
	private final String KEY_MODELO = "MODELO";
	
	private final String KEY_NROPARTE="nro_parte";
	private final String KEY_CODIGO = "codigo";
	private final String KEY_NOMBRE_DESC = "nombre_desc";*/
	
	String numero;
	String estado;
	String sintoma;
	String modelo;
	String barras;
	String numero1;
	String numero2;
	String numero3;
	
	public String getCodigo() {
		return barras;
	}

	public void setBarras(String barras) {
		this.barras = barras;
	}

	public String getNumero1() {
		return numero1;
	}

	public void setNumero1(String numero1) {
		this.numero1 = numero1;
	}

	public String getNumero2() {
		return numero2;
	}

	public void setNumero2(String numero2) {
		this.numero2 = numero2;
	}

	public String getNumero3() {
		return numero3;
	}

	public void setNumero3(String numero3) {
		this.numero3 = numero3;
	}	
	
	public Orden() {
		partes = new Vector();
	}

	public Orden(Bundle bundle){
		numero = bundle.getString("numero");
	}
		
	public void clearPartes(){
		partes.clear();
	}
	
	public void addParte(Parte parte){
		for (int i = 0; i < partes.size(); i++) {
			Parte p = (Parte) partes.elementAt(i);
			if(p.equals(parte))return;
		}
		partes.add(parte);
	}
	
	public void removerParte(int id){
		partes.removeElementAt(id);
	}
	
	public Vector<Parte> getPartes(){
		return partes;	
	}
	
	public Parte getParte(int pos){
		return partes.get(pos);
	}

	public String getNumero() {
		return numero;
	}

	public void setNumero(String numero) {
		this.numero = numero;
	}

	public String getEstado() {
		return estado;
	}

	public void setEstado(String estado) {
		this.estado = estado;
	}

	public String getSintoma() {
		return sintoma;
	}

	public void setSintoma(String sintoma) {
		this.sintoma = sintoma;
	}

	public String getModelo() {
		return modelo;
	}

	public void setModelo(String modelo) {
		this.modelo = modelo;
	}

	public void setPartes(Vector partes) {
		this.partes = partes;
	}
	
	
	
/*	
	public Bundle getBundle(){
		Bundle bundle  = new Bundle();
		bundle.putString(KEY_NUMERO, numero);
		bundle.putString(KEY_ESTADO, estado);
		bundle.putString(KEY_SINTOMA,sintoma);
		bundle.putString(KEY_MODELO, modelo);
		bundle.putInt(KEY_PARTES_SIZE, partes.size());
		for (int i = 0; i < partes.size(); i++) {
			Parte parte = (Parte) partes.elementAt(i);
			//bundle.putString(KEY_MODELO);
		}
		return bundle;
		
	}*/
	
	@Override
	public int describeContents() {
		return 0;
	}

	@Override
	public void writeToParcel(Parcel out, int flags) {
		out.writeString(numero);
		out.writeString(estado);
		out.writeString(sintoma);
		out.writeString(modelo);
		out.writeInt(partes.size());
		for (int i = 0; i < partes.size(); i++) {
			Parte parte = (Parte)partes.elementAt(i);
			out.writeString(parte.codigo);
			out.writeString(parte.nro_parte);
			out.writeString(parte.nombre_desc);
			
		}
	}
	
	// this is used to regenerate your object. All Parcelables must have a CREATOR that implements these two methods
    public static final Parcelable.Creator<Orden> CREATOR = new Parcelable.Creator<Orden>() {
        public Orden createFromParcel(Parcel in) {
            return new Orden(in);
        }
        public Orden[] newArray(int size) {
            return new Orden[size];
        }
    };

    private Orden(Parcel in) {
    	numero = in.readString();
    	estado = in.readString();
    	sintoma = in.readString();
    	modelo = in.readString();
		int size = in.readInt();
		partes = new Vector();
		for (int i = 0; i < size; i++) {
			String codigo = in.readString();
			String nro_parte = in.readString();
			String nombre_desc = in.readString();
			Parte parte = new Parte(nro_parte, codigo, modelo, nombre_desc);
			partes.add(parte);
		}
    }

	
}
